package ifrn.edu.br.tads.grafo;

import java.util.ArrayList;
import java.util.List;


public class Vertice implements Comparable<Vertice> {
	
	private Object valor;
	private List <Aresta> arestas = new ArrayList<>();
	
	private double menorDistancia = Double.POSITIVE_INFINITY;
	
	private Vertice anterior;
	
	public Vertice(Object valor) {
		this.valor = valor;
	}
	
	public String toString() { 
		return this.valor.toString();
	}
	
	public int compareTo(Vertice vert) {
		return Double.compare(menorDistancia, vert.menorDistancia);
	}
	
	public void addAresta(Vertice destino, double peso) {
		arestas.add(new Aresta(this, destino, peso));		
	}
	
	public List<Aresta> getArestas() {
		return this.arestas;		
	}
	
	public Object getValor() {
		return this.valor;
	}
	
	public double getMenorDistancia() {
		return this.menorDistancia;
	}
	
	public void setMenorDistancia(double distancia) {
		this.menorDistancia = distancia;
	}
	
	public Vertice getAnterior() {
		return anterior;
	} 
	
	public void setAnterior(Vertice vertice) {
		this.anterior = vertice;
	}

}
